package com.azt.provider.mapper;

import com.azt.api.dto.MsgSendDto;
import com.azt.api.dto.UserMsgDto;
import com.azt.api.pojo.MsgConfig;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;
import java.util.Map;

public interface MsgConfigMapper extends Mapper<MsgConfig> {
	
	/** 
	 * @Title: getMsgConfigByParams 
	 * @Description: 查询
	 * @param params
	 * @return
	 * @return: List<MsgConfig>
	 * @author: Snowler 2016年9月9日 下午3:16:57 
	 */
	List<MsgConfig> getMsgConfigByParams(Map<String , String> params);
	
	/**
	 * 初始化消息
	 * @Title: selectMainMsgConfig 
	 * @Description: TODO
	 * @param roleType
	 * @return
	 * @return: List<MsgConfig>
	 * @author: zhoudongdong 2016年11月18日 上午10:28:00
	 */
	List<MsgConfig> selectMainMsgConfig(int userId,int roleType);

	/**
	 * 通过code和userId 获取 这个用户可以发送哪些消息 以及  用户的 mobile和email
	 * @param userId
	 * @param code
	 * @return
	 */
	List<MsgSendDto> ifCanSendByCAI(@Param("userId") Integer userId , @Param("code") String code , @Param("email") String email , @Param("mobile") String mobile);

	/**
	 * 根据userid获取dto
	 * @param userId
	 * @return
	 */
	UserMsgDto getUserDtoById(@Param("userId") Integer userId);

	MsgConfig selectOneByCode(String code);

}